JavaScript এর RegExp-এ ^ (Caret) মেটাচরিত্রটি স্ট্রিংয়ের শুরুতে একটি প্যাটার্ন খুঁজে বের করার জন্য ব্যবহৃত হয়। এটি কোনো স্ট্রিংয়ের শুরুর দিকে নির্দিষ্ট শব্দ বা চরিত্র খুঁজে পেতে বিশেষভাবে উপযোগী।
^ (Caret) এর ব্যবহার
^ মেটাচরিত্রটি ব্যবহার করার মাধ্যমে আপনি RegExp কে নির্দেশ দিতে পারেন যে, এটি শুধু স্ট্রিংয়ের শুরুতে মিলের চেষ্টা করবে। অর্থাৎ, এটি স্ট্রিংয়ের মধ্যে কোথাও একটি শব্দ বা চরিত্রের উপস্থিতি পরীক্ষা করবে না, বরং শুধুমাত্র স্ট্রিংয়ের প্রথম অংশের মধ্যে মিল খুঁজবে।
সিনট্যাক্স:
let regex = /^pattern/;
এখানে, ^pattern প্যাটার্নটি শুধু সেই স্ট্রিংয়ের সাথে মিলবে যেগুলির শুরুতে "pattern" শব্দটি থাকবে।
উদাহরণ
উদাহরণ ১: স্ট্রিংয়ের শুরুতে "hello" খুঁজে বের করা
let regex = /^hello/;
let str = "hello world";
console.log(regex.test(str)); // true
এখানে, ^hello প্যাটার্নটি স্ট্রিং hello world এর শুরুতে "hello" খুঁজে পাচ্ছে, তাই এটি true রিটার্ন করবে।
উদাহরণ ২: স্ট্রিংয়ের শুরুতে "world" খুঁজে না পাওয়া
let regex = /^world/;
let str = "hello world";
console.log(regex.test(str)); // false
এখানে, ^world প্যাটার্নটি স্ট্রিং hello world এর শুরুতে "world" খুঁজে পায় না, তাই এটি false রিটার্ন করবে।
^ (Caret) এর সীমাবদ্ধতা
^ মেটাচরিত্রটি শুধুমাত্র স্ট্রিংয়ের প্রথমে মিল খুঁজবে। এটি স্ট্রিংয়ের অন্য কোনো অংশে মিল খুঁজবে না। উদাহরণস্বরূপ:
let regex = /^hello/;
let str = "this is hello";
console.log(regex.test(str)); // false
এখানে, ^hello প্যাটার্নটি "this is hello" স্ট্রিংয়ের প্রথমে "hello" খুঁজে পায় না, কারণ "hello" স্ট্রিংয়ের শেষে রয়েছে এবং এটি স্ট্রিংয়ের প্রথমে নেই।
^ (Caret) এর সাথে অন্যান্য প্যাটার্নের সংমিশ্রণ
^ মেটাচারিত্রটি অন্যান্য প্যাটার্নের সাথে মিলে আরও শক্তিশালী এবং নমনীয় প্যাটার্ন তৈরি করতে ব্যবহৃত হতে পারে। উদাহরণস্বরূপ, যদি আপনি কোনো স্ট্রিংয়ের প্রথমে একটি নির্দিষ্ট অক্ষর বা সংখ্যা খুঁজে পেতে চান:
let regex = /^[0-9]/;
let str = "123abc";
console.log(regex.test(str)); // true
এখানে, ^[0-9] প্যাটার্নটি স্ট্রিংয়ের শুরুতে কোনো সংখ্যা (0-9) খুঁজে পাচ্ছে, তাই এটি true রিটার্ন করবে।
^ (Caret) এবং অন্যান্য ফ্ল্যাগ
^ মেটাচারিত্রটি মূলত স্ট্রিংয়ের শুরুতে মিল খুঁজে থাকে, এবং এটি ফ্ল্যাগস-এর সাথে বিশেষভাবে কার্যকর হতে পারে, যেমন m (multi-line) ফ্ল্যাগ। m ফ্ল্যাগের সঙ্গে ব্যবহৃত হলে, ^ প্যাটার্নটি প্রতিটি লাইনের শুরুতে মিল খুঁজে পাবে।
উদাহরণ:
let regex = /^hello/m;
let str = "hello world\nhello again";
console.log(regex.test(str)); // true
এখানে, ^hello প্যাটার্নটি দুটি লাইনের মধ্যে "hello" খুঁজে পাচ্ছে, কারণ m ফ্ল্যাগটি প্রতিটি লাইন এর শুরুতে মিল খুঁজতে সাহায্য করছে।
সারাংশ
^ (Caret) মেটাচরিত্রটি স্ট্রিংয়ের শুরুতে নির্দিষ্ট প্যাটার্ন খুঁজে বের করার জন্য ব্যবহৃত হয়। এটি একটি শক্তিশালী উপায় যাতে আপনি স্ট্রিংয়ের প্রথম অংশে কোনো শব্দ বা চরিত্রের উপস্থিতি যাচাই করতে পারেন। এটি স্ট্রিংয়ের মাঝখানে বা শেষে কোনো মিল খুঁজে পায় না, তবে m (multi-line) ফ্ল্যাগ ব্যবহার করলে এটি প্রতিটি লাইনের প্রথমে মিল খুঁজে পায়।
Read more